/**
 * ************************************************************************
 * 项目名称: projectweb <br>
 * 文件名称:  <br>
 * 文件描述: 这里添加您的类文件描述，说明当前文件要包含的功能。 <br>
 * 文件创建：1913040634刘世锦  <br>
 * 创建时间: 2021/2/13 <br>
 *
 * @version v1.0 <br>
 * @update [序号][日期YYYY-MM-DD][更改人姓名][变更描述]<br>
 * ************************************************************************
 */

import java.util.Arrays;

/**
 * @ProjectName: projectweb
 * @ClassName: qsort
 * @Description: 请描述该类的功能
 * @Author: 1913040634刘世锦
 * @Date: 2021/2/13 18:32 .
 * @version v1.0
 */
public class qsort {

        public static void main(String[] args) {
            int [] a = { 11,322,45,6,34,21,65,8,336,543,34,5,0 ,56,1,-1,15 };
            QKSourt(a,0,a.length-1);
            System.out.println("快排" +Arrays.toString(a));// 很奇怪，为什么没有出现过程
            System.out.println("---------------");
           // quickSort(a,0,a.length-1);
           // System.out.println("快排" +Arrays.toString(a));// 很奇怪，为什么没有出现过程
        }
        private static void QKSourt(int[] a, int start, int end) { //可以体现排序过程。。
            if (a.length < 0){
                return ;
            }
            if (start >= end){
                return ;
            }
            int left = start;
            int right = end;
            int temp = a[left];
            while (left < right){
                while (left < right && a[right] >= temp){
                    right -- ;
                }
                a[left] = a[right];
                while (left < right && a[left] <= temp){
                    left ++ ;
                }
                a[right] = a[left];
                a[left] = temp;
            }

            System.out.println(Arrays.toString(a));
          QKSourt(a, start, left -1);
           QKSourt(a,left+1,end);
        }

    public static void  quickSort(int[] nums,int left,int right){
        if (left<right){
            int index = nums[left];
            int l = left;
            int r = right;
            while (l<r){
                while (l<r && nums[r]>=index){
                    r--;
                }
                if (l<r){
                    nums[l] = nums[r];
                    l++;
                }
                while (l<r && nums[l]<index){
                    l++;
                }
                if (l<r){
                    nums[r] = nums[l];
                    r--;
                }
            }


            nums[l] = index;
            quickSort(nums,left,l-1);
            quickSort(nums,l+1,right);

        }
    }
    }




